package com.xyy.saas.payment.pojo.dto;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author wangzeqi
 */
@Data
@Accessors(chain = true)
public class PayTradeRecordDTO implements Serializable {

    private static final long serialVersionUID = 3719975699086475090L;

    private List<TradeRecord> tradeRecords;
    private List<TradeRecordExtend> tradeRecordExtends;

    @Data
    @Accessors(chain = true)
    public static class TradeRecord implements Serializable {
        private static final long serialVersionUID = -7415968362872271566L;

        /**
         * YBM单号
         */
        private String ybmOrderNo;

        /**
         * 支付平台单号
         */
        private String payNo;

        /**
         * 客户名称
         */
        private String merchantName;

        /**
         * 客户编号
         */
        private String merchantId;

        /**
         * 商户名称
         */
        private String companyName;

        /**
         * 商户编号
         */
        private String orgId;

        /**
         * 实付金额
         */
        private BigDecimal actualPaymentAmount;

        /**
         * 创建时间
         */
        private Date createTime;

        /**
         * 支付时间
         */
        private Date payTime;
    }

    @Data
    @Accessors(chain = true)
    public static class TradeRecordExtend implements Serializable {

        private static final long serialVersionUID = -8588216006073021065L;

        private String businessOrderNo;

        private String separateNo;

        /**
         * 三方交易单号
         */
        private String thirdTradeNo;

        /**
         * 交易类型
         * 1-垫资 2-分账
         */
        private Integer tradeType;

        /**
         * 交易时间
         */
        private Date tradeTime;

        /**
         * 交易状态
         * 1-处理中 2-完成
         */
        private Integer tradeStatus;

        private String remark1;

        private String remark2;
    }

}
